Skip to content

[FEAT] Support skills from hf skills#3956

Merged
Wauplin merged 24 commits intomainfrom
feature/add-marketplace-skills
Apr 2, 2026
Merged

[FEAT] Support skills from hf skills#3956
Wauplin merged 24 commits intomainfrom
feature/add-marketplace-skills

Conversation

@burtenshaw
Copy link
Copy Markdown
Contributor

@burtenshaw burtenshaw commented Mar 20, 2026

This PR allows uses to add and update skills from huggingface/skills

You can test it like this.

hf skills add gradio
ls .agents/skills/huggingface-gradio

The naming in huggingface/skills should be simplified before we merge this. i.e. hugging-face-trackio >> trackio. That's added here


Note

Medium Risk
Adds new CLI behavior that downloads and extracts remote tarballs from GitHub and overwrites local directories, which can fail due to network/API changes and affects local filesystem state.

Overview
hf skills add is changed from generating a local hf-cli SKILL.md to installing named marketplace skills from the huggingface/skills GitHub repo (with a manifest file for revision tracking) and optionally symlinking installs into Claude’s legacy skills directory.

Adds hf skills upgrade, which scans configured skills directories, checks installed manifests against the latest upstream commit for each skill, and upgrades in place with status reporting. Documentation and CLI reference are updated accordingly, and new CLI tests cover marketplace install and upgrade flows.

Written by Cursor Bugbot for commit 3b69456. This will update automatically on new commits. Configure here.

@bot-ci-comment
Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Copy link
Copy Markdown
Contributor

@Wauplin Wauplin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(high level review only, my main feedback being "let's try to keep things simple")

Comment on lines 3121 to 3122
* `add`: Download a skill and install it for an AI...
* `preview`: Print the generated SKILL.md to stdout.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel that hf skills add and hf skills preview description could be harmonized now that we have more than 1 skill that can be installed

@burtenshaw
Copy link
Copy Markdown
Contributor Author

Thanks for the review @Wauplin. I've responded to each item and cut down the bloat.

JiwaniZakir

This comment was marked as spam.

@burtenshaw
Copy link
Copy Markdown
Contributor Author

@JiwaniZakir thanks for the tokens, but we got this.

Copy link
Copy Markdown
Contributor

@Wauplin Wauplin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @burtenshaw ! Left a few more comments. Mostly nits and cosmetic changes except for the test suite that can be simplified IMO

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've read this module and "it looks good" but can't say that I reviewed it in-depth. I think it's fine though given the scope is non-critical.

@julien-c
Copy link
Copy Markdown
Member

do you also agree with @julien-c?

Copy link
Copy Markdown
Contributor

@hanouticelina hanouticelina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR! I left some comments, mostly readabilitycleanups.
(feel free to ask cursor to address all the review comments from @Wauplin and myself 😄)

burtenshaw and others added 2 commits April 2, 2026 12:02
Co-authored-by: Lucain <lucainp@gmail.com>
Co-authored-by: célina <hanouticelina@gmail.com>
@huggingface huggingface deleted a comment from JiwaniZakir Apr 2, 2026
@huggingface huggingface deleted a comment from JiwaniZakir Apr 2, 2026
@huggingface huggingface deleted a comment from JiwaniZakir Apr 2, 2026
@huggingface huggingface deleted a comment from Wauplin Apr 2, 2026
@huggingface huggingface deleted a comment from JiwaniZakir Apr 2, 2026
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

@JiwaniZakir
Copy link
Copy Markdown

Agreed with @Wauplin — scoping this to the HF skills marketplace keeps the surface area manageable and the UX simpler. The value proposition is exactly that hf skills add gradio just works without users needing to know where the skill lives. Once the naming simplification lands in huggingface/skills#99, this should be ready to revisit for merge.

@JiwaniZakir
Copy link
Copy Markdown

Agreed with Wauplin's point — scoping to the HF skills marketplace keeps the surface area small and the UX predictable. The atomic directory replacement and manifest tracking already give us a solid foundation to expand later if needed, but shipping a general-purpose installer now would front-load a lot of security and validation complexity we haven't worked through yet. The cursor bot's note about the test mock not actually triggering the failure path is worth fixing before merge — that test gives false confidence in the rollback behavior.

@JiwaniZakir
Copy link
Copy Markdown

Agreed with @Wauplin — scoping this strictly to the HF marketplace keeps the surface area manageable and avoids us having to reason about arbitrary remote sources. The symlink into Claude's legacy skills directory feels like it should be opt-in or dropped entirely for now, since it adds cross-tool coupling that's hard to reason about at install time. Once the naming simplification in huggingface/skills#99 lands, the path resolution logic here should be much cleaner.

@burtenshaw burtenshaw requested a review from Wauplin April 2, 2026 13:16
@JiwaniZakir
Copy link
Copy Markdown

Agree with @Wauplin on scoping — keeping hf skills add tied to the default huggingface/skills marketplace keeps the surface area small and the mental model simple. If we want multi-marketplace support later, it's easier to add than to remove. On the main branch hardcode, that's fine as long as huggingface/skills itself treats main as stable; we should just make sure that expectation is documented somewhere so it doesn't quietly break if the upstream repo ever switches default branches.

Copy link
Copy Markdown
Contributor

@Wauplin Wauplin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

…ce/huggingface_hub into feature/add-marketplace-skills

:wq
his merge is necessary,
Copy link
Copy Markdown
Contributor

@hanouticelina hanouticelina left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @burtenshaw for the iterations!

@Wauplin Wauplin merged commit 993d645 into main Apr 2, 2026
10 of 22 checks passed
@Wauplin Wauplin deleted the feature/add-marketplace-skills branch April 2, 2026 14:11
@JiwaniZakir
Copy link
Copy Markdown

The naming simplification in skills/pull/99 should land before this merges — having hf skills add gradio resolve to a tarball named hugging-face-gradio would be confusing to users and a pain to clean up later. On the manifest tracking side, worth confirming the revision field pins to a tag/SHA rather than a branch ref, otherwise hf skills upgrade won't reliably detect drift.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants